﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

//CodeBehind (Atrás do Código) = arquivo onde ficam as regras denegócio
namespace Projet1VideoAulaNery
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        //Page_Loage inicializa quando abre a página
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)//Se já executou uma vez, não repete
            {
                lbl1.Text = "Page_Load Novo texto do Neri";
                DropDownListCursos.Items.Add(new ListItem("GWT", "3"));
                DropDownListCursos.Items.Add(new ListItem("JAVA", "4"));
                //ou
                DropDownListCursos.Items.Add(new ListItem(){ Value="5",Text="Banco de Dados"});
                DropDownListCursos.Items.Add(new ListItem() { Value = "6", Text = "Spring"});
                povoarFamilia();

                //povoar Palestra via programação
                DropDownListPalestras.DataSource = listarPalestra();
                DropDownListPalestras.DataValueField = "codigoPalestra";
                DropDownListPalestras.DataTextField = "localPalestra";
                DropDownListPalestras.DataBind();
            }

            Table tabela = new Table();
            for (int linha = 0; linha <= 3; linha++ )
            {
                TableRow linhas = new TableRow();
                for (int coluna = 0; coluna < 2; coluna++)
                {
                    TableCell colunas = new TableCell();
                    colunas.Text = listaCurso(linha, coluna);
                    linhas.Cells.Add(colunas);
                }
                tabela.Rows.Add(linhas);
            }
            PlaceHolder1.Controls.Add(tabela);

            HyperLinkManual.NavigateUrl = "http://www.youtube.com.br";
            HyperLinkManual.Target = "_black";
        }

        private void povoarFamilia()
        {
            List<ListItem> listaFamilia = new List<ListItem>();
            listaFamilia.Add(new ListItem() { Value=  "1", Text="Otávio"});
            listaFamilia.Add(new ListItem() { Value = "2", Text = "Maria" });            
            listaFamilia.Add(new ListItem() { Value = "3", Text = "Tiane" });
            listaFamilia.Add(new ListItem() { Value = "4", Text = "Henrique" });
            listaFamilia.Add(new ListItem() { Value = "5", Text = "Gabriel" });
            listaFamilia.Add(new ListItem() { Value = "1", Text = "Abimael" });

            foreach(var familia in listaFamilia )
            {
                DropDownListFamilia.Items.Add(new ListItem() { Value=familia.Value, Text=familia.Text});
                //BulletedList1.Items.Add(new ListItem() { Value = familia.Value, Text = familia.Text });
                //ou
                povoarFamiliaBulletdList();
            }
        }

        private void povoarFamiliaBulletdList()
        {
            List<ListItem> listaFamilia = new List<ListItem>();
            listaFamilia.Add(new ListItem() { Value = "1", Text = "Otávio" });
            listaFamilia.Add(new ListItem() { Value = "2", Text = "Maria" });
            listaFamilia.Add(new ListItem() { Value = "3", Text = "Tiane" });
            listaFamilia.Add(new ListItem() { Value = "4", Text = "Henrique" });
            listaFamilia.Add(new ListItem() { Value = "5", Text = "Gabriel" });
            listaFamilia.Add(new ListItem() { Value = "6", Text = "Abimael" });
            listaFamilia.Add(new ListItem() { Value = "7", Text = "Marilza" });
            BulletedList1.DataSource = listaFamilia;
            BulletedList1.DataBind();
            
        }
        protected void botaoClicado(Object sender, EventArgs e)
        {
            lbl1.Text = "Você clicou em Clique Aqui";
        }

        protected void Button2_Click(object sender, EventArgs e)
        {
            lbl1.Text = "Você clicou em Clique aqui Tambem";
        }

        protected void DropDownListCursos_SelectedIndexChanged(object sender, EventArgs e)
        {
            LabelCursos.Text = DropDownListCursos.SelectedValue;
        }

        protected void ListBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
            LabelCursos.Text = ListBox2.SelectedValue;
        }

        protected void Button3_Click(object sender, EventArgs e)
        {
            tbCurosSelecionados.Text = "";
            foreach (ListItem listaaCursos in ListBox2.Items)
            {
                if (listaaCursos.Selected)
                {
                    if (!tbCurosSelecionados.Text.Equals(""))
                        tbCurosSelecionados.Text += " - ";
                    tbCurosSelecionados.Text += listaaCursos.Text;
                }
                
            }
        }

        protected void CheckBoxCurso_CheckedChanged(object sender, EventArgs e)
        {
            LabelGostou.Text = CheckBoxCurso.Checked.ToString();
        }

        protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)
        {
            LabelCheck.Text = "";
            for (int i = 0; i < CheckBoxList1.Items.Count; i++)
            {
                if (CheckBoxList1.Items[i].Selected)
                {
                    if (!LabelCheck.Text.Equals(""))
                        LabelCheck.Text += " - ";
                    LabelCheck.Text += CheckBoxList1.Items[i].Text;                   
                }
            }
        }

        private List<Palestras> listarPalestra()
        {
            var palestras = new List<Palestras>();
            var palestra1 = new Palestras();
            var palestra2 = new Palestras();
            var palestra3 = new Palestras();
            var palestra4 = new Palestras();

            palestra1.codigoPalestra = 1;
            palestra1.localPalestra = "Juazeiro do Norte";
            palestra2.codigoPalestra = 2;
            palestra2.localPalestra = "Porto Seguro";
            palestra3.codigoPalestra = 3;
            palestra3.localPalestra = "Januário";
            palestra4.codigoPalestra = 4;
            palestra4.localPalestra = "Cuiabá";

            palestras.Add(palestra1);
            palestras.Add(palestra2);
            palestras.Add(palestra3);
            palestras.Add(palestra4);

            return palestras;
        }

        private string listaCurso(int linha, int coluna)
        {
            string[,] arrayCurso = new string[4,2];
            //Descrição dos campos(Coluna)
            arrayCurso[0,0] = "Código";
            arrayCurso[0,1] = "Descrição";

            //Dados da tabela(Linhas)
            arrayCurso[1,0] = "1";
            arrayCurso[1,1] = "Android";
            arrayCurso[2,0] = "2";
            arrayCurso[2,1] = "ASP.NET";
            arrayCurso[3,0] = "3";
            arrayCurso[3,1] = "Delphi";

            return arrayCurso[linha, coluna];
        }
    }
}